package com.dzl.admin.service;

import com.dzl.admin.pojo.SysMenu;
import com.dzl.admin.pojo.SysRoleMenu;
import com.dzl.base.service.BaseService;

import java.util.List;

/**
 * 角色菜单表(SysRoleMenu)表服务接口
 *
 * @author caobucao
 * @since 2021-05-13 15:49:59
 */
public interface SysRoleMenuService extends BaseService<SysRoleMenu> {


    /**
     * 通过角色id删除角色菜单
     * @date 2021/5/17 10:11
     * @author caobucao
     * @param roleId 角色id
     * @return Integer 影响条数
     */
    Integer deleteRoleMenuByRoleId(Integer roleId);

    /**
     * 描述:批量添加角色与菜单关系
     * @date 2021/5/12 9:45
     * @author wangchao
     * @Param [menuIds 菜单ID集合, roleId 角色ID]
     * @return java.lang.Integer
     **/
    Integer saveBatchRoleMenu(List<Integer> menuIds, Integer roleId);

    /**
     * 查询当前角色查询菜单ID集合
     * @date 2021/6/15 21:23
     * @author caobucao
     * @param roleId 角色id
     * @return java.util.List<java.lang.Integer>
     */
    List<Integer> queryRoleMenuByRoleId(Integer roleId);

    /**
     * 查询角色菜单树
     * @date 2021/6/15 21:33
     * @author caobucao
     * @param roleId 角色ID
     * @param isEnable:传null表示查所有菜单，传1表示当该企业是同步数据配置的企业，需要隐藏一些分类，用此字段隐藏
     * @return java.util.List<com.dzl.menu.pojo.SysMenu>
     */
    List<SysMenu> queryByRoleIdMenu(Integer roleId,Integer isEnable);
}
